-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port to web #1263
Port to web #1263
Conversation
|
1354f0b
to
64a4c62
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1263 +/- ##
==========================================
+ Coverage 52.93% 53.43% +0.50%
==========================================
Files 462 462
Lines 26090 25850 -240
Branches 2419 2389 -30
==========================================
+ Hits 13810 13813 +3
+ Misses 12280 12037 -243 ☔ View full report in Codecov by Sentry. |
2503415
to
7b34b73
Compare
b6f5b1c
to
c7c0259
Compare
31108c1
to
832c19b
Compare
832c19b
to
1097fcb
Compare
1097fcb
to
832c19b
Compare
832c19b
to
15a4797
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy
found issue(s) with the introduced code (1/1)
15a4797
to
7ead7d7
Compare
…rs from its warnings
Necessary for glfwSwapInterval to work correctly
3f8c5ae
to
5dca160
Compare
5dca160
to
7f38ef9
Compare
Description
(Edited by @RiscadoA)
This PR ended up being absolutely gigantic.
I think the best way to review it is to give a quick look at the commits we made. They are very granular and all do pretty much a single thing, which makes it easier to follow the 'story' of what we were doing.
Make sure to at least give a look at the parts of the code which you're more familiar with/you authored, and see if stuff makes sense to you.
Web support was implemented with Emscripten, which is basically a C++ compiler which targets javascript and wasm.
Instead of outputting executables, this outputs an html page for each executable, i.e., all samples and also tesseratos.
We had to change lots of tiny nitpicks to make this work, particularly, on the rendering side.
A lot of our code was incompatible with WebGL. We reduced the interface of RenderDevice to contain only the interface supported by both OpenGL and WebGL.
We also added an action to build it here on GitHub. That action uploads the resulting artifacts, which you can download and try running on your machine. On a future PR we should improve this to automatically place the samples in their respective documentation pages. Will create issues for that soon
Checklist